1. Field of the Invention
The present invention relates to a filtering apparatus and a digital broadcast receiving apparatus suitable for use in, for example, a digital television, a digital recorder and the like.
2. Description of the Related Art
Over recent years, digital broadcasting adopting MPEG-2 standard encoding has started. One Transport Stream (TS), as defined by the MPEG-2 standard, is capable of carrying one or more programs. A TS is constituted by packets having fixed lengths of 188 bytes (TS packets), which include (or are multiplexed with) video data, audio data and other data.
Information related to the same type of data is multiplexed in a single TS packet, and an identification signal (PID) indicating the type of the data is affixed thereto. This enables simultaneous transfer of predetermined private data or the like in addition to video and audio data, which can be utilized in the fields of broadcasting, communication or storage.
A digital broadcast receiving apparatus is provided with a function for referencing PIDs from sequentially inputted TS packets and filtering TS packets having the same PID. As a result, it is now possible to reproduce or record only desired programming (also referred to as a program, content, a channel or the like) from a stream.
The processing of filtering using PIDs is referred to as PID filtering and involves comparisons with a filtering condition (or a filter condition; when related to PID filtering, also referred to as a PID filter condition or the like) respectively corresponding to each PID. A portion at which comparisons are performed is referred to as a PID filter (in some cases, a PID filter refers to a part up to and including the portion retaining a filter condition). Supplying a PID filter with data multiplexed on a TS packet and which at least includes a PID enables filtering of TS packets having PIDs that satisfy a PID filter condition preset on each PID filter.
Other data include data related to information referred to as Service Information (SI) that is carried by a structure referred to as a section. Data in one section structure (hereinafter referred to as section data) includes various information such as a table number, a section length, previous updates (version number), if any, or the like. Transmission may be performed in various formats, such as multiplexing one or more section data on one TS packet, or splitting one section data into two or more TS packets. A case where a plurality of section data is multiplexed in one TS packet is referred to as multi-section transmission format or the like, while a case where only all or a part of one section data is multiplexed is referred to as single-section transmission format or the like. In other words, when section data multiplexed in TS packets filtered by a PID filter is in multi-section transmission format, further filtering is necessary by identifying desired section data using a table number or the like from the plurality of section data multiplexed on the TS packets filtered by the PID filter. Obviously, even in single-section transmission format, if, for example, section data having the same table number but also having a newest version number is desired, further filtering is necessary.
The processing of filtering using information (such as a table number) included in section data is referred to as section filtering, which involves comparisons with a filtering condition (or a filter condition; when related to section filtering, also referred to as a section filter condition or the like) respectively corresponding to each section data. A portion at which comparisons are performed is referred to as a section filter (in some cases, a section filter refers to a part up to and including the portion retaining a filter condition). Supplying data constituted by all or a part of TS packets filtered by PID filtering and which includes at least a part of section data to a section filter enables filtering of section data having information (a table number, a section length or the like) that satisfies a section filter condition preset on each section filter.
Accordingly, a digital broadcast receiving apparatus (hereinafter also referred to as a receiving apparatus) must be capable of filtering section data using one or more section filters from TS packets filtered by one PID filter. Therefore, in order to flexibly accommodate transmission formats, it is desirable that one or more section filters mounted on the receiving apparatus can be used arbitrarily for data with respect to data filtered by a PID filter mounted thereon (hereinafter described as “a section filter is connectable to a PID filter” or the like).
Generally, a plurality of mounted filters (or filter conditions used by the filters) is identified by numbers (e.g., integers equal to or more than 0). During section filtering, management by numbers (hereinafter “filter number management”) is performed, such as exemplified by arranging section data to be filtered using section filters number 3 to 6 from TS packets filtered using the 1st PID filter.
Such management requires connection information between a PID filter number and a section filter number. A portion (a storage element, a memory, a register or the like) retaining connection information is referred to as a connection information register. Management is possible when at least 1 bit of information is retainable per one PID filter. For example, management can be performed by arranging a bit value of “0” (a low level when a digital signal is assumed) to indicate an “unconnected (unused)” state and a bit value of “1” (a high level when a digital signal is assumed) to indicate a “connected (in use)” state.
Accordingly, in order to maximize flexibility in accommodating various broadcast formats, it is desirable that all PID filters mounted on a receiving apparatus are connectable to all section filters mounted thereon. In other words, if n denotes the number of mounted PID filters and k denotes the number of mounted section filters, a connection information register capable of retaining at least n×k bits of information (hereinafter referred to as an “n×k-bit connection information register” or the like) is required.
Conventionally, the number of section filters connectable to each PID filter is not limited, i.e., all section filters in the receiving apparatus are connectable to each PID filter. In other words, an arbitrary PID filter is freely connectable to, for example, a section filter not used by (not connected to) another PID filter. This enables filter processing to flexibly accommodate broadcast formats.
Therefore, there is a problem in that hardware scale (circuit size) of a connection information register increases dramatically according to the number of filters. For example, a connection information register of 16,384 bits is required in a case where n and k are both 128, while a connection information register of 65,536 bits is required in a case where n and k are both 256.
Furthermore, an increase in the number of programs in recent years has led to an upward trend in the required number of PID filters and section filters in a receiving apparatus, which has only aggravated the problem.
In consideration of these problems, a technique for reducing the number of bits required by a connection information register is proposed in Japanese Patent Laid-Open No. 2005-333474 (hereinafter referred to as Document 1). According to Document 1, by setting a restrictive range of, for example, n−31<k≦n+32 on k-number of section filters connectable to n-number of PID filters, a connection information register is limited to 64 bits per one PID filter regardless of the number of mounted section filters.
Therefore, for example, in the case where n and k are both 128, filter number management can now be performed by a connection information register of 8,182 bits, and in the case where n and k are both 256, by a connection information register of 16,384 bits. Consequently, even in comparison with the example described above, reliable filtering processing is now possible without dramatically increasing hardware scale.
According to Document 1, an identification number (absolute number) which uniquely determines a PID filter or a section filter can be used to identify a section filter to be connected to a PID filter. Therefore, for example, if it is assumed that there are 128 mounted PID filters and 128 mounted section filters respectively managed by absolute numbers 0 to 127, in the event that section filters number −31 to −1 and 128 to 159 which actually do not exist under the restrictive range described above become connectable, filter number management must now assume that a minimum value 0 and a maximum value 127 of the absolute numbers are consecutive and determine that −31 to −1 are connectable to 97 to 127 and 128 to 159 are connectable to 0 to 31. The processing of determining a new connectable absolute number from a number that does not exist as a connectable number by adding/subtracting (or multiplying/dividing) a given offset value depending on whether the number falls below the minimum value of a restrictive range or exceeds the maximum value thereof, as described above, shall be referred to as “fold-back processing” in the following description. This processing is necessary to realize the effective use of section filters by enabling connectable section filter numbers to be cyclically specified.
However, the need for cyclic specification gives rise to a problem in that fold-back processing is now required in filter number management during section filtering, thereby complicating the processing of filtering performed by a receiving apparatus.